// service/pages/bookConsultation/bookConsultation.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    houseInfo: {
      id: '',
      layout: '',
      area: '',
      rentAmount: '',
      phone: '',
      wechat: ''
    },
    formData: {
      name: '',
      phone: '',
      date: '',
      timeIndex: -1,
      peopleCount: '',
      remark: ''
    },
    timeSlots: [
      '09:00-10:00',
      '10:00-11:00', 
      '11:00-12:00',
      '14:00-15:00',
      '15:00-16:00',
      '16:00-17:00',
      '17:00-18:00'
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('预约页面接收到的参数:', options);
    
    // 接收从房屋详情页传递的参数
    if (options) {
      this.setData({
        'houseInfo.id': options.id || '',
        'houseInfo.layout': options.layout || '',
        'houseInfo.area': options.area || '',
        'houseInfo.rentAmount': options.rentAmount || '',
        'houseInfo.phone': options.phone || '',
        'houseInfo.wechat': options.wechat || ''
      });
    }

    // 设置默认日期为明天
    const tomorrow = new Date();
    tomorrow.setDate(tomorrow.getDate() + 1);
    const defaultDate = tomorrow.toISOString().split('T')[0];
    this.setData({
      'formData.date': defaultDate
    });
  },

  /**
   * 输入姓名
   */
  inputName(e) {
    this.setData({
      'formData.name': e.detail.value
    });
  },

  /**
   * 输入手机号
   */
  inputPhone(e) {
    this.setData({
      'formData.phone': e.detail.value
    });
  },

  /**
   * 选择日期
   */
  dateChange(e) {
    this.setData({
      'formData.date': e.detail.value
    });
  },

  /**
   * 选择时间段
   */
  timeChange(e) {
    this.setData({
      'formData.timeIndex': parseInt(e.detail.value)
    });
  },

  /**
   * 输入看房人数
   */
  inputPeopleCount(e) {
    this.setData({
      'formData.peopleCount': e.detail.value
    });
  },

  /**
   * 输入备注信息
   */
  inputRemark(e) {
    this.setData({
      'formData.remark': e.detail.value
    });
  },

  /**
   * 提交预约
   */
  submitBooking() {
    const { formData, houseInfo } = this.data;
    
    // 表单验证
    if (!formData.name.trim()) {
      wx.showToast({
        title: '请输入姓名',
        icon: 'none'
      });
      return;
    }

    if (!formData.phone.trim()) {
      wx.showToast({
        title: '请输入手机号',
        icon: 'none'
      });
      return;
    }

    // 简单的手机号验证
    const phoneRegex = /^1[3-9]\d{9}$/;
    if (!phoneRegex.test(formData.phone)) {
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none'
      });
      return;
    }

    if (!formData.date) {
      wx.showToast({
        title: '请选择预约日期',
        icon: 'none'
      });
      return;
    }

    if (formData.timeIndex < 0) {
      wx.showToast({
        title: '请选择时间段',
        icon: 'none'
      });
      return;
    }

    // 显示加载状态
    wx.showLoading({
      title: '提交中...'
    });

    // 模拟提交预约信息
    setTimeout(() => {
      wx.hideLoading();
      
      // 显示预约成功信息
      wx.showModal({
        title: '预约成功',
        content: `您的预约信息已提交成功！\n\n预约详情：\n房屋：${houseInfo.layout}\n时间：${formData.date} ${this.data.timeSlots[formData.timeIndex]}\n\n房东会尽快与您联系确认看房时间。`,
        showCancel: false,
        confirmText: '确定',
        success: (res) => {
          if (res.confirm) {
            // 返回上一页
            wx.navigateBack();
          }
        }
      });
    }, 1500);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '房屋预约看房',
      path: '/service/pages/bookConsultation/bookConsultation'
    };
  }
})